package com.itheima.filter;

import javax.servlet.*;
import javax.servlet.annotation.*;
import java.io.IOException;

//@WebFilter("/*")//  /* 代表拦截所有的请求   /login 代表只拦截登录 精确匹配
       //  /depts/* 只拦截 depts以及 depts子目录 资源
public class MyFilter implements Filter {
    public void init(FilterConfig config) throws ServletException {
        System.out.println("代表 过滤器对象产生了...呱呱坠地....");
    }

    public void destroy() {
        System.out.println("过滤器对象 要销毁了 ....垂死病中惊坐起！！");
    }

    /**
     * 实现拦截功能
     *       请求和响应是成对出现的
     * @param request  拦截请求  包含请求的信息  浏览器给服务器的信息
     * @param response  拦截响应  一般空的响应   服务器给浏览器的信息
     * @param chain   保安--用于放行与否的一个对象
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {

        System.out.println("my filter对资源进行拦截  拦截之前");

        chain.doFilter(request, response);// 放行语句

        System.out.println("my filter对资源进行拦截  拦截之后");



    }
}
